home *** CD-ROM | disk | FTP | other *** search
/ Merciful 2 / Merciful - Disc 2.iso / software / h / highspeedpascalv2.0b.dms / highspeedpascalv2.0b.adf / Interface / Disk.pas < prev    next >
Pascal/Delphi Source File  |  1992-01-16  |  1KB  |  69 lines

  1. Unit Disk;
  2.  
  3. Interface
  4. Uses Exec;
  5.  
  6. Type
  7.   pDiscResourceUnit = ^tDiscResourceUnit;
  8.   pLibrary = ^tLibrary;
  9.   tDiscResource = Record
  10.           dr_Library: tLibrary;
  11.           dr_Current: pDiscResourceUnit;
  12.           dr_Flags: ShortInt;
  13.           dr_pad: ShortInt;
  14.           dr_SysLib: pLibrary;
  15.           dr_CiaResource: pLibrary;
  16.           dr_UnitID: Array [0..3] of LongInt;
  17.           dr_Waiting: tList;
  18.           dr_DiscBlock: tInterrupt;
  19.           dr_DiscSync: tInterrupt;
  20.           dr_Index: tInterrupt;
  21.         End;
  22.  
  23.   tDiscResourceUnit = Record
  24.           dru_Message: tMessage;
  25.           dru_DiscBlock: tInterrupt;
  26.           dru_DiscSync: tInterrupt;
  27.           dru_Index: tInterrupt;
  28.         End;
  29.  
  30.   pDiscResource = ^tDiscResource;
  31.  
  32.  
  33. Var
  34.   DiskBase: pDiscResource;
  35.  
  36.  
  37. Const
  38.   DRB_ALLOC0 = $0;
  39.   DRB_ALLOC1 = $1;
  40.   DRB_ALLOC2 = $2;
  41.   DRB_ALLOC3 = $3;
  42.   DRF_ALLOC0 = $1;
  43.   DR_ALLOCUNIT = $FFFFFFFA;
  44.   DRF_ALLOC1 = $2;
  45.   DRF_ALLOC2 = $4;
  46.   DR_GETUNITID = $FFFFFFE2;
  47.   DRT_EMPTY = $FFFFFFFF;
  48.   DRF_ALLOC3 = $8;
  49.   DR_LASTCOMM = $FFFFFFE8;
  50.   DR_FREEUNIT = $FFFFFFF4;
  51.   DRB_ACTIVE = $7;
  52.   DSKDMAOFF = $4000;
  53.   DRF_ACTIVE = $80;
  54.   DR_GIVEUNIT = $FFFFFFE8;
  55.   DRT_AMIGA = $0;
  56.   DRT_37422D2S = $55555555;
  57.   DR_GETUNIT = $FFFFFFEE;
  58.   DISKNAME = 'disk.resource';
  59.  
  60.  
  61. Function AllocUnit (unitNum: LongInt): Boolean;
  62. Procedure FreeUnit (unitNum: LongInt);
  63. Function GetUnit (unitPointer: pDiscResourceUnit): pDiscResourceUnit;
  64. Procedure GiveUnit;
  65. Function GetUnitID (unitNum: LongInt): LongInt;
  66.  
  67.  
  68. End.
  69.